// src/api/chargingstation.ts

import { post, get } from "@/utils/http";
// 引入 rowType 类型
import type { RowType } from "@/types/station/index";

/**
 * 充电站监控接口服务
 *
 * 提供充电站数据的查询接口，支持分页和条件过滤
 */

// ==================== 接口路径枚举 ====================
enum Api {
  ChargingStations = "/charging-stations", // 充电站列表接口
  Edit = "/charging-station/edit", // 新增/编辑充电站接口
  Delete = "/charging-station/delete", // 删除充电站接口
  Overview = "/charging-station/overview", // 营收统计 - 数据总览接口
  Statistics = "/charging-station/statistics", // 营收统计 - 统计数据列表接口
  Chargingpilelist = "/charging-station/ChargingPileList", // 充电桩管理 - 充电桩列表接口

  Sales = "/sales", // 销售额统计- echart 数据接口
}

// 声明接口类型
interface ListType {
  page: number; // 页码
  pageSize: number; // 每页数量
  name?: string; // 充电站名称关键词 (可选)
  id?: string; // 充电站ID (可选)
  status?: number; // 充电站状态 (可选)
}

function listApi(data: ListType) {
  return post(Api.ChargingStations, data);
}

function editApi(data: RowType) {
  return post(Api.Edit, data);
}

function deleteApi(id: string) {
  return post(Api.Delete, { id });
}

function overviewApi() {
  return get(Api.Overview);
}

function salesApi() {
  return get(Api.Sales);
}
// 统计数据接口参数
interface StatisticsParams {
  startDate?: string;
  endDate?: string;
  name?: string;   // 新增：搜索参数
  page?: number;   // 新增：分页参数
  pageSize?: number; // 新增：分页大小参数
}

function statisticsApi(data: StatisticsParams) {
  return post(Api.Statistics, data);
}

function chargingPileListApi() {
  return post(Api.Chargingpilelist);
}

export { listApi, editApi, deleteApi, overviewApi, salesApi , statisticsApi, chargingPileListApi};
